|
Init Script
2014/10/08 |
|
Create an init Script to make Oracle start automatically on system booting.
|
|
| [1] | Set environment variables for "oracle" user like follows. |
|
[oracle@dlp ~]$
vi /etc/oratab # end line: change dlp:/u01/app/oracle/product/12.1.0/dbhome_1: Y
[oracle@dlp ~]$
vi ~/.bash_profile # add follows to the end export ORACLE_SID=dlp |
| [2] | Create an init Script with the root user. |
|
[root@dlp ~]#
vi /etc/rc.d/init.d/oracle # it's an example, edit it you like.
#!/bin/bash
# oracle: Start/Stop Oracle Database 12c R1
#
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
# processname: oracle
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
ORACLE_USER=oracle
case "$1" in
'start')
if [ -f $LOCKFILE ]; then
echo $0 already running.
exit 1
fi
echo -n $"Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
touch $LOCKFILE
;;
'stop')
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping.
exit 1
fi
echo -n $"Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
rm -f $LOCKFILE
;;
'restart')
$0 stop
$0 start
;;
'status')
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0
chmod 755 /etc/rc.d/init.d/oracle [root@dlp ~]# chkconfig --add oracle [root@dlp ~]# chkconfig oracle on
|